home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / VIDEOTEX.{A8 < prev    next >
Text File  |  1999-09-17  |  5KB  |  145 lines

  1. #ifndef _VTX_H
  2. #define _VTX_H
  3.  
  4. /* $Id: videotext.h,v 1.1 1998/03/30 22:26:39 alan Exp $
  5.  *
  6.  * Copyright (c) 1994-97 Martin Buck  <martin-2.buck@student.uni-ulm.de>
  7.  * Read COPYING for more information
  8.  *
  9.  */
  10.  
  11.  
  12. /*
  13.  *    Videotext ioctls
  14.  */
  15. #define VTXIOCGETINFO  0x7101  /* get version of driver & capabilities of vtx-chipset */
  16. #define VTXIOCCLRPAGE  0x7102  /* clear page-buffer */
  17. #define VTXIOCCLRFOUND 0x7103  /* clear bits indicating that page was found */
  18. #define VTXIOCPAGEREQ  0x7104  /* search for page */
  19. #define VTXIOCGETSTAT  0x7105  /* get status of page-buffer */
  20. #define VTXIOCGETPAGE  0x7106  /* get contents of page-buffer */
  21. #define VTXIOCSTOPDAU  0x7107  /* stop data acquisition unit */
  22. #define VTXIOCPUTPAGE  0x7108  /* display page on TV-screen */
  23. #define VTXIOCSETDISP  0x7109  /* set TV-mode */
  24. #define VTXIOCPUTSTAT  0x710a  /* set status of TV-output-buffer */
  25. #define VTXIOCCLRCACHE 0x710b  /* clear cache on VTX-interface (if avail.) */
  26. #define VTXIOCSETVIRT  0x710c  /* turn on virtual mode (this disables TV-display) */
  27.  
  28.  
  29. /* 
  30.  *    Definitions for VTXIOCGETINFO
  31.  */
  32.  
  33. #define SAA5243 0
  34. #define SAA5246 1
  35. #define SAA5249 2
  36. #define SAA5248 3
  37. #define XSTV5346 4
  38.  
  39. typedef struct {
  40.     int version_major, version_minor;    /* version of driver; if version_major changes, driver */
  41.                         /* is not backward compatible!!! CHECK THIS!!! */  
  42.     int numpages;                /* number of page-buffers of vtx-chipset */
  43.     int cct_type;                /* type of vtx-chipset (SAA5243, SAA5246, SAA5248 or
  44.                            * SAA5249) */
  45. }
  46. vtx_info_t;
  47.  
  48.  
  49. /*
  50.  *    Definitions for VTXIOC{CLRPAGE,CLRFOUND,PAGEREQ,GETSTAT,GETPAGE,STOPDAU,PUTPAGE,SETDISP}
  51.  */
  52.  
  53. #define MIN_UNIT   (1<<0)
  54. #define MIN_TEN    (1<<1)
  55. #define HR_UNIT    (1<<2)
  56. #define HR_TEN     (1<<3)
  57. #define PG_UNIT    (1<<4)
  58. #define PG_TEN     (1<<5)
  59. #define PG_HUND    (1<<6)
  60. #define PGMASK_MAX (1<<7)
  61. #define PGMASK_PAGE (PG_HUND | PG_TEN | PG_UNIT)
  62. #define PGMASK_HOUR (HR_TEN | HR_UNIT)
  63. #define PGMASK_MINUTE (MIN_TEN | MIN_UNIT)
  64.  
  65. typedef struct 
  66. {
  67.     int page;    /* number of requested page (hexadecimal) */
  68.     int hour;    /* requested hour (hexadecimal) */
  69.     int minute;    /* requested minute (hexadecimal) */
  70.     int pagemask;    /* mask defining which values of the above are set */
  71.     int pgbuf;    /* buffer where page will be stored */
  72.     int start;    /* start of requested part of page */
  73.     int end;    /* end of requested part of page */
  74.     void *buffer;    /* pointer to beginning of destination buffer */
  75. }
  76. vtx_pagereq_t;
  77.  
  78.  
  79. /*
  80.  *    Definitions for VTXIOC{GETSTAT,PUTSTAT}
  81.  */
  82.  
  83. #define VTX_PAGESIZE (40 * 24)
  84. #define VTX_VIRTUALSIZE (40 * 49)
  85.  
  86. typedef struct 
  87. {
  88.     int pagenum;            /* number of page (hexadecimal) */
  89.     int hour;            /* hour (hexadecimal) */
  90.     int minute;            /* minute (hexadecimal) */
  91.     int charset;            /* national charset */
  92.     unsigned delete : 1;        /* delete page (C4) */
  93.     unsigned headline : 1;        /* insert headline (C5) */
  94.     unsigned subtitle : 1;        /* insert subtitle (C6) */
  95.     unsigned supp_header : 1;    /* suppress header (C7) */
  96.     unsigned update : 1;        /* update page (C8) */
  97.     unsigned inter_seq : 1;        /* interrupted sequence (C9) */
  98.     unsigned dis_disp : 1;        /* disable/suppress display (C10) */
  99.     unsigned serial : 1;        /* serial mode (C11) */
  100.     unsigned notfound : 1;        /* /FOUND */
  101.     unsigned pblf : 1;        /* PBLF */
  102.     unsigned hamming : 1;        /* hamming-error occurred */
  103. }
  104. vtx_pageinfo_t;
  105.  
  106.  
  107. /*
  108.  *    Definitions for VTXIOCSETDISP
  109.  */
  110.  
  111. typedef enum { 
  112.     DISPOFF, DISPNORM, DISPTRANS, DISPINS, INTERLACE_OFFSET 
  113. } vtxdisp_t;
  114.  
  115.  
  116.  
  117. /*
  118.  *    Tuner ioctls
  119.  */
  120.  
  121. #define TUNIOCGETINFO  0x7201  /* get version of driver & capabilities of tuner */
  122. #define TUNIOCRESET    0x7202  /* reset tuner */
  123. #define TUNIOCSETFREQ  0x7203  /* set tuning frequency (unit: kHz) */
  124. #define TUNIOCGETFREQ  0x7204  /* get tuning frequency (unit: kHz) */
  125. #define TUNIOCSETCHAN  0x7205  /* set tuning channel */
  126. #define TUNIOCGETCHAN  0x7206  /* get tuning channel */
  127.  
  128.  
  129. typedef struct 
  130. {
  131.     int version_major, version_minor;    /* version of driver; if version_major changes, driver */
  132.                         /* is not backward compatible!!! CHECK THIS!!! */  
  133.     unsigned freq : 1;            /* tuner can be set to given frequency */
  134.     unsigned chan : 1;            /* tuner stores several channels */
  135.     unsigned scan : 1;            /* tuner supports scanning */
  136.     unsigned autoscan : 1;        /* tuner supports scanning with automatic stop */
  137.     unsigned afc : 1;            /* tuner supports AFC */
  138.     unsigned dummy1, dummy2, dummy3, dummy4, dummy5, dummy6, dummy7, dummy8, dummy9, dummy10,
  139.          dummy11 : 1;
  140.     int dummy12, dummy13, dummy14, dummy15, dummy16, dummy17, dummy18, dummy19;
  141. } tuner_info_t;
  142.  
  143.  
  144. #endif /* _VTX_H */
  145.